Search method, apparatus, and electronic device

ABSTRACT

A method of searching content is provided. The method includes receiving, in a social media messaging program, a search request including one or more search terms from a user of a client device. The method further includes searching, among the user&#39;s contacts locally stored on the client device, for contacts matching with the one or more search terms to produce first search results displaying a least a subset of the first search results and one or more search navigation affordances. At least one of the search navigation affordances corresponds to second search results of a first content type that are shared by the user and other users and at least one of the search navigation affordances corresponds to third search results of a second content type different from the first content type that are associated with the user.

RELATED APPLICATIONS

This application is a continuation application of PCT Patent ApplicationNo. PCT/CN2014/084715, entitled “SEARCH METHOD, APPARATUS, ANDELECTRONIC DEVICE” filed on Aug. 19, 2014, which claims priority toChinese Patent Application No. 201310425013.9, “SEARCH METHOD,APPARATUS, AND ELECTRONIC DEVICE,” filed on Sep. 17, 2013, both of whichare hereby incorporated by reference in their entirety.

TECHNICAL FIELD

The present application relates to the field of computer networktechnologies, and more particularly to a search method, an apparatus,and an electronic device.

BACKGROUND

The role of social media and social networking has expanded in our dailylives. For example, rather than merely following other user's posts,some social media services now allow users to chat with one another,make payments to one another, play games with friends and strangersalike, follow public figures and business, and so on.

A consequence of the expansion of social media is a need for intelligentsearch methods that allow users to search for many different types ofcontent at once, while simultaneously directing users to the types ofcontent that they are most interested in.

SUMMARY

To address the aforementioned needs for search in the context of socialmedia and social networking, a method is provided that is performed at amobile client device executing a social media messaging program. Themethod includes receiving, in the social media messaging program, asearch request including one or more search terms from a user of themobile client device. The method further includes searching, among theuser's contacts locally stored on the mobile client device, for contactsmatching with the one or more search terms to produce first searchresults and displaying a least a subset of the first search results andone or more search navigation affordances. At least one of the searchnavigation affordances corresponds to second search results of a firstcontent type that are shared by the user and other users and at leastone of the search navigation affordances corresponds to third searchresults of a second content type different from the first content typethat are associated with the user.

To address the aforementioned needs for search in the context of socialmedia and social networking another method is provided that is performedat a mobile client device executing a social media messaging program.The method includes receiving, in the social media messaging program, asearch request including one or more search terms. The method furtherincludes, in accordance with a predefined search type hierarchy,searching content of a first set of content types of a plurality ofcontent types to produce first search results. The search is based onthe search request and the predefined search type hierarchy specifies anorder with which content types in the plurality of content types are tobe searched. The method further includes determining a count of thefirst search results. The method further includes, when the count offirst search results is greater than or equal to a predefined number,displaying the first search results and affordances for searchingcontent of one or more other content types in the plurality of contenttypes. The method further includes, when the count of first searchresults is less than the predefined number, in accordance with thepredefined search type hierarchy, searching content of a second set ofcontent types of the plurality of content types to produce second searchresults and displaying the second search results.

In another aspect of the present disclosure, to address theaforementioned needs for search in the context of social media andsocial networking, some implementations provide a non-transitorycomputer readable storage medium storing one or more programs. The oneor more programs comprise instructions, which when executed by anelectronic device with one or more processors and memory, cause theelectronic device to perform any of the methods provided herein.

In yet another aspect of the present disclosure, to address theaforementioned needs for search in the context of social media andsocial networking, some implementations provide an electronic device.The electronic device includes one or more processors, memory, and oneor more programs. The one or more programs are stored in memory andconfigured to be executed by the one or more processors. The one or moreprograms include an operating system and instructions that when executedby the one or more processors cause the electronic device to perform anyof the methods provided herein.

BRIEF DESCRIPTION OF THE DRAWINGS

The aforementioned features and advantages of the present application aswell as additional features and advantages thereof will be more clearlyunderstood hereinafter as a result of a detailed description ofpreferred embodiments when taken in conjunction with the drawings.

FIG. 1 is a schematic structural diagram of an environment involved by asearch method, in accordance with some embodiments.

FIG. 2 is a method flowchart of a search method, in accordance with someembodiments.

FIG. 3 is a method flowchart of a search method, in accordance with someembodiments.

FIG. 4A is a schematic diagram of a search interface, in accordance withsome embodiments.

FIG. 4B is a schematic diagram of a search interface, in accordance withsome embodiments.

FIG. 4C is a schematic diagram of displaying friend/public accounts, inaccordance with some embodiments.

FIG. 4D is schematic diagram of adding a friend or following a publicaccount, in accordance with some embodiments.

FIG. 4E is a schematic diagram of displaying conversation records, inaccordance with some embodiments.

FIG. 4F is a schematic diagram of a conversation group displaying mode,in accordance with some embodiments.

FIG. 4G is a schematic diagram of a time-order displaying mode, inaccordance with some embodiments.

FIG. 4H is a schematic diagram of a time-order displaying mode, inaccordance with some embodiments.

FIG. 4I is a schematic diagram of a threshold displaying mode, inaccordance with some embodiments.

FIG. 5 is a method flowchart of a search method, in accordance with someembodiments.

FIG. 6 is a method flowchart of a search method, in accordance with someembodiments.

FIG. 7 is a schematic diagram of a hybrid search interface, inaccordance with some embodiments.

FIG. 8 is a method flowchart of a search method, in accordance with someembodiments.

FIG. 9A is a schematic diagram of a sorting mode of search navigationbars, in accordance with some embodiments.

FIG. 9B is a schematic diagram of another sorting mode of searchnavigation bars, in accordance with some embodiments.

FIG. 9C is a schematic diagram of additional search navigation bars, inaccordance with some embodiments.

FIG. 10 is a schematic structural diagram of a search apparatus, inaccordance with some embodiments.

FIG. 11 is a schematic structural diagram of a search apparatus, inaccordance with some embodiments.

FIGS. 12A-12B are a flowchart illustrating a method of search, inaccordance with some embodiments.

FIGS. 13A-13B are a flowchart illustrating another method of search, inaccordance with some embodiments.

FIG. 14 is a server-client environment that includes a social medianetwork over which secure payments are made, in accordance with someembodiments.

FIG. 15 is a structural block diagram of a client device, in accordancewith some embodiments.

FIG. 16 is a structural block diagram of a server system, in accordancewith some embodiments.

Like reference numerals refer to corresponding parts throughout theseveral views of the drawings.

DESCRIPTION OF EMBODIMENTS

Reference will now be made in detail to embodiments, examples of whichare illustrated in the accompanying drawings. In the following detaileddescription, numerous specific details are set forth in order to providea thorough understanding of the subject matter presented herein. But itwill be apparent to one skilled in the art that the subject matter maybe practiced without these specific details. In other instances,well-known methods, procedures, components, and circuits have not beendescribed in detail so as not to unnecessarily obscure aspects of theembodiments.

FIG. 1 is a schematic structural diagram of an implementationenvironment involved by a search method, in accordance with someembodiments. The implementation environment includes at least one clientdevice 120 and at least one server 140.

The client device 120 may be an electronic device in which a client ofan instant messaging program runs. The electronic device may be a smartphone, a tablet computer, a smart TV, an e-book reader, a Moving PictureExperts Group Audio Layer III (MP3) player, a Moving Picture ExpertsGroup Audio Layer IV (MP4) player, a laptop computer, a desktopcomputer, or the like.

The client device 120 and the server 140 may be connected through awireless network or a wired network.

The server 140 may be one server, a server cluster formed by multipleservers, or a cloud computing service center. The server 140 may be abackend server of an instant messaging program.

FIG. 2 is a method flowchart of a search method, in accordance with someembodiments. The application of the search method to the client deviceshown in FIG. 1 is used as an example for description. The search methodincludes:

Step 202: Receive a keyword for search in a current interface of anapplication.

The application includes content of at least two types, and the currentinterface may be an interface corresponding to content of any type.

Step 204: Search content of a first type in the application for contentof the first type matching with the keyword.

Step 206: Display the content of the first type matching with thekeyword, and display search navigation bars corresponding to content ofother types except content of the first type, where the searchnavigation bars are quick portals to search, according to the keyword,content of other types corresponding to the search navigation bars.

By using the application being an instant messaging program as anexample, when a personal account added as a friend and a followed publicaccount are determined as content of a first type, a personal accountadded as a friend and a followed public account that match with thekeyword are directly displayed, and a search navigation bar for apersonal account that has not been added as a friend and a publicaccount that has not been followed, a search navigation bar for aconversation record, and a search navigation bar for collected contentare also displayed.

In conclusion, in some embodiments of the search method, a keyword forsearch is received in a current interface of an application. Content ofa first type in the application is searched for content of the firsttype matching with the keyword. The content of the first type matchingwith the keyword is displayed, and search navigation bars correspondingto content of other types except content of the first type are alsodisplayed. The method solves the problem of time-consuming andinefficient search caused by switching between interfaces correspondingto content of different types in a search method in which content ofdifferent types needs to be searched in search boxes in differentinterfaces. Therefore, global search can be accomplished in only onesearch interface, thereby reducing the number of times of switchingbetween search interfaces, saving search time, and improving searchefficiency.

Content of the first type may be determined in two different manners: 1.determining content of a preset type as content of the first type; and2. determining content corresponding to the current interface as contentof the first type. Therefore, in the following, two differentembodiments are used to describe in detail the two manners.

FIG. 3 is a method flowchart of a search method, in accordance with someembodiments. The following example is used for description: the searchmethod is performed on the client device shown in FIG. 1 (e.g., a mobileclient device), an application is an instant messaging program, andcontent of a preset type is determined as content of a first type. Thesearch method includes:

Step 301: Receive one or more keywords for search in a current interfaceof an application.

A client device receives the keywords for search in the currentinterface of the application. Specifically, the client device receivesthe keywords for search in a search input box in the current interfaceof the application. In some embodiments, the current user interface is auser interface in a social media messaging program. The client devicereceives, in the social media messaging program, a search requestincluding one or more search terms (e.g., the keywords) from a user ofthe client device.

In the following, an instant messaging program is used as an example ofthe application. The current interface may be an interface for anaddress book in the instant messaging program, an interface for adding afriend, an interface for conversation records, or an interface forviewing collected content (e.g., web content).

The keyword may be one or more characters, one or more words, acombination of a character and a word, one or more numbers, where thenumbers may indicate an account ID of a user in the instant messagingprogram, or one or more letters.

Because a user usually searches for content of several fixed types,before the user inputs a keyword, the client device displays by defaultpast search histories in a drop-down list in the search input box in thecurrent interface, so as to facilitate use of the search method by theuser. For example, the number of search histories that are displayed bydefault may be three, five, etc.; and search histories are, in variousembodiments, displayed according to actual needs and/or a presetthreshold. Alternatively, search histories that are frequently searchedby the user are displayed by default and search histories are displayedaccording to actual needs and/or a preset threshold. The user mayfurther choose to keep or clear the search histories.

If a search history matching with a keyword to be searched exists in thesearch histories, the user no longer needs to input a keyword for searchagain and may directly select, in the search histories, the searchhistory matching with the keyword. If no search history matching withthe keyword to be searched exists in the search histories and the userfinds that the search histories hamper the search, the user may click anoption of removing the search histories below the search histories toremove the search histories. The user may also choose not to remove thesearch histories, which do not affect the search.

It should be further noted that when the search input box is clicked byusing a cursor, a title bar in the current interface, content in thecurrent interface, and a speech input button in the search input box maybe hidden, so that the current interface looks simpler. By using a smartphone as an example of the client device, referring to FIG. 4A, when thesearch input box is clicked by using a cursor, the title bar, namely,the words “Address Book”, in the in the current interface, content suchas “Add a Friend”, “Public Account”, “A”, “andraw”, “andy”, “AndroidUser”, “B”, “Beki”, and “betty” in the current interface, and a speechinput button 400 located on the right side of the search input box arehidden.

Step 302: Determine content of the preset type as content of the firsttype.

The client device determines content of the preset type as content ofthe first type. In some embodiments, the preset content is a personalaccount added as a friend and a followed public account. Stated anotherway, content of the first type may be regarded as content in a localaddress book. That is, regardless of whether the current interface inStep 301 is an interface of an address book, an interface of adding afriend, an interface of a conversation record, or an interface ofcollected content, the client device always determines a personalaccount added as a friend and a followed public account as content ofthe first type.

As shown in this example, in some embodiments, the client device alsoalways determines that content of a second type is a personal accountthat has not been added as a friend and a public account that has notbeen followed, content of a third type is a conversation record, andcontent of a fourth type is collected content. Stated another way,various types of content are ranked according to a search typehierarchy.

The search type hierarchy may be established in any number of ways. Forexample, in some embodiments, the search type hierarchy is establishedby the user (e.g., the user enters her preferences for searchpriorities). In some embodiments, the search type hierarchy isdetermined in accordance with the current user interface (e.g., when thecurrent user interface is an address book user interface, address bookentries such as contacts, comprise content of the first type).

Step 303: Search content of the first type in the application forcontent of the first type matching with the keyword.

The client device searches content of the first type corresponding to acurrent account in the application for content of the first typematching with the keyword. Using user contacts as an example of contentof the first type, in some embodiments, the client device searches,among the user's contacts locally stored on the client device, forcontacts matching with the search term (e.g., input keyword) to producesearch results (e.g., one or more matching contacts).

Stated another way, for example, the client device searches content ofthe address book in the application for personal accounts of users addedas friends and followed public accounts that match with the keyword.

Step 304: Determine whether the content of the first type matching withthe keyword is found.

The client device determines whether content matching with the keywordexists in personal accounts added as friends and followed publicaccounts.

If a determination result is that a personal account added as a friendand a followed public account that match with the keyword are found, theprocess turns to Step 305.

If a determination result is that a personal account added as a friendand a followed public account that match with the keyword are not found,the process turns to Step 306.

Step 305: Display the content of the first type matching with thekeyword, and display search navigation bars corresponding to content ofother types except content of the first type in the application.

The search navigation bars are quick portals to search, according to thekeyword, content of other types corresponding to the search navigationbars. Each search navigation bar generally corresponds to content ofanother type except content of the first type.

In some embodiments, the search navigation bars include a searchnavigation bar 431 corresponding to content of the second type, a searchnavigation bar 432 corresponding to content of the third type, and asearch navigation bar 433 corresponding to content of the fourth type.

As shown in FIG. 4B, an input keyword is “and”. In this example, contentof the first type comprises content corresponding to user's who areconnected to the user (also called “contacts”; “friends”; “connections”or any other similar term used in the art). Among these contacts,several match the input keyword (e.g., search term), including: “Bigfish(and you)”; “Anderson (andsen)”; and “Wearetogether (you and me).” Thesedisplayed search results comprise at least a subset of search results ofthe content of the first type (e.g., in some circumstances, only asubset of search results is shown if there are too many search resultsto neatly display at once).

Also displayed is search navigation bar 431 (e.g., a search navigationaffordance). The search navigation bar 431 “Search for a friend/publicaccount in the network” corresponds to content of the second type and isdisplayed below content of the first type (e.g., less prominently). Thisis an example of a displayed search navigation affordance thatcorresponds to search results of the second content type. The searchresults of the second content type are shared by the user and otherusers, meaning that other users can also search for friends/publicaccounts in the network. Stated another way, the search navigation bar431 is used to search for a personal account that has not been added asa friend and a public account that has not been followed that match withthe keyword.

The search navigation bar 432 “Search for a conversation record” (e.g.,another search navigation affordance) corresponding to content of thethird type is also displayed. The search navigation bar 432 may be usedto Search for a conversation record matching with the keyword. This isan example of a displayed search navigation affordance that correspondsto search results of the third content type. The search results of thethird content type are associated with the user (such as conversations).In some embodiments, the search results of the third content type areuniquely associated with the user or uniquely associated with the userand a small group of other users (e.g., those users involved in aconversation). In some embodiment, content of the third content type isstored on a server remote from the client device.

The search navigation bar 433 “Search for collected content” (e.g.,another search navigation affordance) corresponding to content of thefourth type is also displayed. The search navigation bar 433 may be usedto Search for collected content matching with the keyword.

As used herein, the term affordance is used to mean a feature of anelectronic device whose selection or activation invokes a function, suchas a specific search. Examples of affordance include buttons, nobs,switches, etc., which can be “virtual” (e.g., on a touch screen display)or physical. As described below, when a search navigation affordance isselected, search results corresponding to the search navigationaffordance are displayed.

Step 306: Search content of the nth type in the application according toa preset content search order for content of the nth type matching withthe keyword, where n≥2, and display search navigation bars of content ofother types except content of the first type to content of the nth type.

The preset content search order is set as: content of the first type,content of the second type, content of the third type, and content ofthe fourth type. Thus, there is a predetermined search type hierarchy inwhich the content search order is ranked.

If a determination result is that content of the first type matchingwith the keyword is not found, the client device searches content of thesecond type for content of the second type matching with the keyword.When content of the second type matching with the keyword is found, theclient device displays the content of the second type matching with thekeyword, and displays at least one search navigation bar for content ofanother type except content of the first type and content of the secondtype, that is, displays search navigation bars corresponding to contentof the third type and content of the fourth type.

When content of the second type matching with the keyword is not foundeither, the client device searches content of the third type for contentof the third type matching with the keyword. When content of the thirdtype matching with the keyword is found, the client device displays thecontent of the third type matching with the keyword, and displays atleast one search navigation bar for content of another type exceptcontent of the first type to content of the third type, that is,displays a search navigation bar corresponding to content of the fourthtype.

When content of the third type matching with the keyword is not foundeither, the client device searches content of the fourth type forcontent of the fourth type matching with the keyword. When content ofthe fourth type matching with the keyword is found, the client devicedisplays the content of the fourth type matching with the keyword.Because there is no more content of other types, a search navigation baris no longer displayed.

When content of the fourth type matching with the keyword is not found,that is, the client device fails to find, in content of all types,content matching with the keyword, the client device displays promptinformation that no search result is found.

Step 307: Receive a selection signal acting on (e.g., selection of) oneof the search navigation bars.

In a case where a search navigation bar is displayed, the client devicereceives a selection signal acting on one search navigation bar. Theselection signal is triggered by a user by clicking a search navigationbar when the user needs to search content in the search navigation bar.Stated another way, in some embodiments, the client devices receives aninput corresponding to selection of a search navigation affordance.

For example, in FIG. 4B, if content that the user needs to find is inthe search navigation bar 431, the user may click the search navigationbar 431. Correspondingly, the client device receives a selection signalacting on the search navigation bar 431. If content that the user needsto find is in the search navigation bar 432, the user may click thesearch navigation bar 432. Correspondingly, the client device receives aselection signal acting on the search navigation bar 432. If contentthat the user needs to find is in the search navigation bar 433, theuser may click the search navigation bar 433. Correspondingly, theclient device receives a selection signal acting on the searchnavigation bar 433.

Step 308: Search content of the m^(th) type in the application forcontent of the m^(th) type matching with the keyword.

The client device searches content of the mth type corresponding to thecurrent account in the application for content of the mth type matchingwith the keyword, where content of the mth type is content of a typecorresponding to a search navigation bar selected by the selectionsignal, and m≥2. In some embodiments, in response to the inputcorresponding to selection of the search navigation affordance, theclient device triggers a search on a server remote from the clientdevice to produce search results for the corresponding content type.Alternatively, this search is performed prior to displaying the searchnavigation affordance (e.g., step 308 occurs prior to step 305).

For example, in FIG. 4B, the search navigation bar 431 corresponds to apersonal account that has not been added as a friend and a publicaccount that has not been followed, the search navigation bar 432corresponds to conversation records, and the search navigation bar 433corresponds to collected content.

If the search navigation bar selected by the selection signal is thesearch navigation bar 431, and content of the second type correspondingto the search navigation bar 431 is a personal account that has not beenadded as a friend and/or a public account that has not been followed,the client device searches content of the second type in the applicationfor content of the second type matching with the keyword. In otherwords, the client device searches personal accounts that have not beenadded as friends corresponding to the current account in the applicationfor a personal account exactly matching with the keyword and searchespublic accounts that have not been followed corresponding to the currentaccount in the application for a public account roughly matching withthe keyword.

If the search navigation bar selected by the selection signal is thesearch navigation bar 432, and content of the third type correspondingto the search navigation bar 432 is a conversation record, the clientdevice searches content of the third type in the application for contentof the third type matching with the keyword. In other words, the clientdevice searches conversation records corresponding to the currentaccount in the application for a conversation record matching with thekeyword.

If the search navigation bar selected by the selection signal is thesearch navigation bar 433, and content of the fourth type correspondingto the search navigation bar 433 is collected content, the client devicesearches content of the fourth type in the application for content ofthe fourth type matching with the keyword. In other words, the clientdevice searches collected content corresponding to the current accountin the application for collected content matching with the keyword.

Step 309: Display content of the mth type matching with the keyword.

When content of the mth type is searched according to the foregoingstep, content of the mth type may be different, and therefore, this stephas the following three cases:

In a first case, if content of the second type is searched in theforegoing step, referring to FIG. 4C, content of the second type is apersonal account that has not been added as a friend and/or a publicaccount that has not been followed, and the client device displays thecontent of the second type matching with the keyword. For example, asshown in the left-hand panel of FIG. 4C, the device receives a touchinput 480 corresponding to search of content of the second type,resulting in the display of content of the second type matching thekeyword in the right-hand panel of FIG. 4C.

In addition, after the client device displays a personal account exactlymatching with the keyword and a public account roughly matching with thekeyword, this step further includes, but is not limited to, thefollowing three cases:

1) If a personal account exactly matching with the keyword is displayed,the client device receives a selection signal acting on the personalaccount, and adds the personal account selected by the selection signalas a friend.

2) If a public account roughly matching with the keyword is displayed,the client device receives a selection signal acting on the publicaccount, and follows the public account selected by the selectionsignal.

3) If a personal account exactly matching with the keyword and a publicaccount roughly matching with the keyword are displayed, the clientdevice may receive a selection signal acting on the personal account andmay also receive a selection signal acting on the public account; mayadd the personal account selected by the selection signal as a friendand may also follow the public account selected by the selection signal,as shown in FIG. 4D. In some embodiments, when a personal or publicaccount is added, a contact is downloaded to and stored on the clientdevice. In such embodiments, the contact includes information such asthe user's name, log-in name, avatar, address, other information, or asubset thereof,

In a second case, if content of the third type is searched in theforegoing step, and referring to FIG. 4E, content of the third type is aconversation record, and the client device displays content of the thirdtype matching with the keyword. For example, as shown in the left-handpanel of FIG. 4E, the device receives a touch input 482 corresponding tosearch of content of the third type, resulting in the display of contentof the third type matching the keyword in the right-hand panel of FIG.4E.

This step includes, but is not limited to, the following two manners:

1) Display conversation records matching with the keyword according toconversation groups.

For example, when an input keyword is “movie” and searched content ischat records, after all chat records with A have been displayed, chatrecords with B are displayed, and finally chat records with C aredisplayed.

For example, as shown in FIG. 4F, X has chatted with A, B, and C, andchat records with A, B, and C all have the keyword “movie”. Chat recordsare displayed according to a conversation manner: First, contentincluding the keyword in chat records with A is displayed; after thechat records with A have been displayed, content including the keywordin chat records with B is then displayed; finally, after the chatrecords with B have been displayed, content including the keyword inchat records with C is displayed.

2) Display conversation records matching with the keyword in an order oftime.

Content may be displayed in a record displaying order being a descendingorder of time or an ascending order of time. An option may further beadded above or below displayed records: to display more results bypulling up for refreshing or to display more results by pulling down forrefreshing. An example is shown in FIG. 4G.

For example, as shown in FIG. 4H, X has chatted with A, B, and C, andchat records with A, B, and C all have the keyword “movie”. A chatrecord “Did you see the movie last night?” between X and A was kept at8:00, a chat record “How was the movie last night?” between X and B waskept at 12:00, a chat record “What do you think about the movie?”between X and C was kept at 13:00, and a chat record “Let's go seeanother movie.” between X and A was kept at 16:00. If the chat recordsare displayed in an ascending order of time, the chat record “Did yousee the movie last night?” between X and A is displayed as the firstitem, the chat record “How was the movie last night?” between X and B isdisplayed as the second item, the chat record “What do you think aboutthe movie?” between X and C is displayed as the third item, and the chatrecord “Let's go see another movie.” between X and A is displayed as thefourth item. In addition, time points of the chats may be displayedbelow these records.

Besides the foregoing two manners, the number of pieces of contentcorresponding to a threshold may further be displayed by defaultaccording to a preset threshold, for example, 6 or 20. As shown in FIG.4I, 6 records are displayed.

In a third case, if content of the fourth type is searched in theforegoing step and content of the fourth type is collected content, theclient device displays content of the fourth type matching with thekeyword. The collected content may be displayed according to types ofthe collected content, or may also be displayed in an order ofcollecting time of the collected content, or may further be displayedaccording to precision of matching between collected content and thekeyword.

In conclusion, in some embodiments of the search method, a keyword forsearch is received in a current interface of an application. Content ofa first type in the application is searched for content of the firsttype matching with the keyword. The content of the first type matchingwith the keyword is displayed, and search navigation bars correspondingto content of other types except content of the first type are alsodisplayed. The method solves the problem of time-consuming andinefficient search caused by switching between interfaces correspondingto content of different types in a search method in which content ofdifferent types needs to be searched in search boxes in differentinterfaces. Therefore, global search can be accomplished in only onesearch interface, thereby reducing the number of times of switchingbetween search interfaces, saving search time, and improving searchefficiency.

FIG. 5 is a method flowchart of a search method, in accordance with someembodiments. The following example is used for description: the searchmethod is applied to the client device shown in FIG. 1, an applicationis an instant messaging program, and content corresponding to a currentinterface is determined as content of a first type. The search methodincludes:

Step 501: Receive a keyword for search in a current interface of anapplication.

A client device receives the keyword for search in the current interfaceof the application. Specifically, the client device receives the keywordfor search in a search input box in the current interface of theapplication.

The application being an instant messaging program is used as anexample. The current interface may be an interface of a conversationrecord in the instant messaging program, an interface of collectedcontent, an interface of an address book, or an interface of adding afriend.

The keyword may be one or more characters, one or more words, acombination of a character and a word, one or more numbers, where thenumbers may indicate an account ID of a user in the instant messagingprogram, or one or more letters.

Step 502: Determine content corresponding to the current interface ascontent of a first type.

The application being an instant messaging program is used as anexample. Content in the application generally has a personal accountadded as a friend and a followed public account, a personal account thathas not been added as a friend and a public account that has not beenfollowed, a conversation record, and collected content.

The client device determines content corresponding to the currentinterface as content of the first type, that is:

If the current interface is an interface corresponding to a conversationrecord, the client device determines content corresponding to aconversation record as content of the first type.

If the current interface is an interface corresponding to collectedcontent, the client device determines content corresponding to collectedcontent as content of the first type.

If the current interface is an interface corresponding to an addressbook, the client device determines content corresponding to a personalaccount added as a friend and a followed public account as content ofthe first type.

If the current interface is an interface corresponding to adding afriend, the client device determines content corresponding to a personalaccount that has not been added as a friend and a public account thathas not been followed as content of the first type.

Next, the client device may determine content of the rest three types ascontent of a second type, content of a third type, and content of afourth type. Specific determining methods may be different inembodiments.

Step 503: Search content of the first type in the application forcontent of the first type matching with the keyword.

The client device searches content of the first type corresponding to acurrent account in the application for content of the first typematching with the keyword. For example, the client device searchesconversation records in the application for a conversation recordmatching with the keyword.

Step 504: Determine whether content of the first type matching with thekeyword is found.

The client device determines whether content of the first type matchingwith the keyword is found in content corresponding to the currentinterface. If it is determined that content of the first type matchingwith the keyword is found, the process turns to Step 505.

If it is determined that content of the first type matching with thekeyword is not found, the process turns to 506.

Step 505: Display the content of the first type matching with thekeyword, and display search navigation bars corresponding to content ofother types except content of the first type in the application.

Step 506: Search content of the nth type in the application according toa preset content search order for content of the nth type matching withthe keyword, where n≥2, and display search navigation bars of content ofother types except content of the first type to content of the nth type.

The preset content search order is set as: content of the first type,content of the second type, content of the third type, and content ofthe fourth type.

If a determination result is that content of the first type matchingwith the keyword is not found, the client device searches content of thesecond type for content of the second type matching with the keyword.When content of the second type matching with the keyword is found, theclient device displays the content of the second type matching with thekeyword, and displays at least one search navigation bar for content ofanother type except content of the first type and content of the secondtype, that is, displays search navigation bars corresponding to contentof the third type and content of the fourth type.

When content of the second type matching with the keyword is not foundeither, the client device searches content of the third type for contentof the third type matching with the keyword. When content of the thirdtype matching with the keyword is found, the client device displays thecontent of the third type matching with the keyword, and displays atleast one search navigation bar for content of another type exceptcontent of the first type to content of the third type, that is,displays a search navigation bar corresponding to content of the fourthtype.

When content of the third type matching with the keyword is not foundeither, the client device searches content of the fourth type forcontent of the fourth type matching with the keyword. When content ofthe fourth type matching with the keyword is found, the client devicedisplays the content of the fourth type matching with the keyword.Because there is no more content of other types, a search navigation baris no longer displayed.

When content of the fourth type matching with the keyword is not foundeither, that is, the client device fails to find, in content of alltypes, content matching with the keyword, the client device displaysprompt information that no search result is found.

Step 507: Receive a selection signal acting on one search navigationbar.

When a search navigation bar is displayed, the client device receivesthe selection signal acting on the search navigation bar. The selectionsignal is triggered by a user by clicking a search navigation bar whenthe user needs to search content in the search navigation bar.

Step 508: Search content of the mth type in the application for contentof the mth type matching with the keyword.

The client device searches content of the mth type corresponding to thecurrent account in the application for content of the mth type matchingwith the keyword, where content of the mth type is content of a typecorresponding to a search navigation bar selected by the selectionsignal, and m≥2.

If content of the mth type is a personal account that has not been addedas a friend and/or a public account that has not been followed, theclient device searches content of the mth type in the application forcontent of the mth type matching with the keyword. The client devicesearches personal accounts that have not been added as friendscorresponding to the current account in the application for a personalaccount exactly matching with the keyword, and searches public accountsthat have not been followed corresponding to the current account in theapplication for a public account roughly matching with the keyword.

Step 509: Display content of the mth type matching with the keyword.

Search of content of the mth type and display of the same has alreadybeen described with reference to FIG. 3 and FIGS. 4A-4I. Any of thefeatures and/or details described with reference to FIG. 3 and FIGS.4A-4I may be shared by the search method described with reference toFIG. 5. Therefore, for the sake of brevity, such details are notrepeated here.

In conclusion, in the search method provided in some embodiments, akeyword for search is received in a current interface of an application.Content of a first type in the application is searched for content ofthe first type matching with the keyword. The content of the first typematching with the keyword is displayed, and search navigation barscorresponding to content of other types except content of the first typeare also displayed. The method solves the problem of time-consuming andinefficient search caused by switching between interfaces correspondingto content of different types in a search method in which content ofdifferent types needs to be searched in search boxes in differentinterfaces. Therefore, global search can be accomplished in only onesearch interface, thereby reducing the number of times of switchingbetween search interfaces, saving search time, and improving searchefficiency.

In addition, content corresponding to a current interface is determinedas content of the first type; therefore, if content that a user needs tosearch for is the content corresponding to the current interface, thecontent is directly displayed in content of the first type. Therefore,it becomes convenient for a user to search for needed content, andsearch efficiency is improved.

FIG. 6 is a method flowchart of a search method, in accordance with someembodiments. The application of the search method to the client deviceshown in FIG. 1 is used as an example. The search method includes:

Step 601: Receive a keyword for search in a current interface of anapplication.

The application includes content of at least two types, and the currentinterface may be an interface corresponding to content of any type, forexample, a first interface corresponding to content of a first type, asecond interface corresponding to content of a second type, and a thirdinterface corresponding to content of a third type.

Step 602: Search content of at least two types for content matching withthe keyword.

The application being an instant messaging program is used as anexample. Content of at least two types may be a personal account thathas been added as a friend and a followed public account, a personalaccount that has not been added as a friend and a public account thathas not been followed, a conversation record, collected content, and thelike.

Step 603: Display, according to types, all or a part of content matchingwith the keyword.

A client device displays, according to types, all or a part of contentmatching with the keyword. Specifically, the client device displays, ina preset order, all or a part of content matching with the keyword incontent of all types in a mixed manner. At least one piece of content isdisplayed for each type.

Referring to FIG. 7, the application being an instant messaging programis used as an example. Content of a type, “WeChat User”, matching withthe keyword is displayed first. Next, content of another type, “PublicAccount”, matching with the keyword, content of yet another type,“Related Chat Record”, matching with the keyword, and content of stillanother type, “Collected Content”, matching with the keyword aredisplayed successively.

In conclusion, in some embodiments of the search method, a keyword forsearch is received in a current interface of an application. Content ofat least two types is searched for content matching with the keyword.All or a part of content matching with the keyword is displayedaccording to types. The method solves the problem of time-consuming andinefficient search caused by switching between interfaces correspondingto content of different types in a search method in which content ofdifferent types needs to be searched in search boxes in differentinterfaces. Therefore, global search can be accomplished in only onesearch interface, thereby reducing the number of times of switchingbetween search interfaces, saving search time, and improving searchefficiency.

FIG. 8 is a method flowchart of a search method, in accordance with someembodiments. The application of the search method to the client deviceshown in FIG. 1 is used as an example. The search method includes:

Step 801: Receive a keyword for search in a current interface of anapplication.

A client device receives the keyword for search in the current interfaceof the application. Specifically, the client device receives the keywordfor search in a search input box in the current interface of theapplication.

The application being an instant messaging program is used as anexample. The current interface may be an interface of a conversationrecord in the instant messaging program, an interface of collectedcontent, an interface of an address book, or an interface of adding afriend.

The keyword may be one or more characters, one or more words, acombination of a character and a word, one or more numbers, where thenumbers may indicate an account ID of a user in the instant messagingprogram, or one or more letters.

Step 802: Determine content of a first type.

In this step, the client device determines content of the first type intwo manners: 1. determining content of a preset type as content of thefirst type; and 2. determining content corresponding to the currentinterface as content of the first type. The two methods are described indetail with reference to FIG. 3 and FIG. 5, respectively. For the sakeof brevity, these details are not repeated here.

Step 803: Search content of the first type in the application forcontent of the first type matching with the keyword.

The client device searches content of the first type corresponding to acurrent account in the application for content of the first typematching with the keyword.

Step 804: Determine whether content of the first type matching with thekeyword is found.

The client device determines whether content of the first type matchingwith the keyword is found in content corresponding to the currentinterface. If it is determined that content of the first type matchingwith the keyword is found, the process turns to Step 805.

If it is determined that content of the first type matching with thekeyword is not found, the process turns to Step 806.

Step 805: Display the content of the first type matching with thekeyword, display search navigation bars corresponding to content ofother types except content of the first type, and further displayadditional search navigation bars.

Step 806: Search content of the nth type in the application according toa preset content search order for content of the nth type matching withthe keyword, where n≥2, display search navigation bars of content ofother types except content of the first type to content of the nth type,and display additional search navigation bars.

The preset content search order is set as: content of the first type,content of a second type, content of a third type, and content of afourth type.

If a determination result is that content of the first type matchingwith the keyword is not found, the client device searches content of thesecond type for content of the second type matching with the keyword.When content of the second type matching with the keyword is found, theclient device displays the content of the second type matching with thekeyword, and displays at least one search navigation bar for content ofanother type except content of the first type and content of the secondtype, that is, displays search navigation bars corresponding to contentof the third type and content of the fourth type.

When content of the second type matching with the keyword is not foundeither, the client device searches content of the third type for contentof the third type matching with the keyword. When content of the thirdtype matching with the keyword is found, the client device displays thecontent of the third type matching with the keyword, and displays atleast one search navigation bar for content of another type exceptcontent of the first type to content of the third type, that is,displays a search navigation bar corresponding to content of the fourthtype.

When content of the third type matching with the keyword is not foundeither, the client device searches content of the fourth type forcontent of the fourth type matching with the keyword. When content ofthe fourth type matching with the keyword is found, the client devicedisplays the content of the fourth type matching with the keyword.Because there is no more content of other types, a search navigation baris no longer displayed.

When content of the fourth type matching with the keyword is not foundeither, that is, the client device fails to find, in content of alltypes, content matching with the keyword, the client device displaysprompt information that no search result is found.

It should be further noted that if there are two or more searchnavigation bars, manners of displaying search navigation barscorresponding to content of other types except content of the first typeinclude, but are not limited to, the following three types:

1) Sort search navigation bars according to latest use time of contentof other types corresponding to the search navigation bars, and displaythe search navigation bars.

For example, as shown in the first picture of FIG. 9A, if, after akeyword “and” is input, the client device detects that content of themost recent search is a personal account that has not been added as afriend and a public account that has not been followed, content of thesecond most recent search is a conversation record, and content of thethird most recent search is collected content, a search navigation bar961, “Search for a friend/public account in the network”, for a personalaccount that has not been added as a friend and a public account thathas not been followed, a search navigation bar 962, “Search for aconversation record”, and a search navigation bar 963, “Search forcollected content”, are successively displayed.

As shown in the second picture of FIG. 9A, if, after the keyword “and”is input, the client device detects that content of the most recentsearch is a conversation record, content of the second most recentsearch is a personal account that has not been added as a friend and apublic account that has not been followed, and content of the third mostrecent search is collected content, a search navigation bar 964, “Searchfor a conversation record”, a search navigation bar 965, “Search for afriend/public account in the network”, and a search navigation bar 966,“Search for collected content”, are successively displayed.

As shown in the third picture of FIG. 9A, if, after the keyword “and” isinput, the client device detects that content of the most recent searchis collected content, content of the second most recent search is aconversation record, and content that of the third most recent search isa personal account that has not been added as a friend and a publicaccount that has not been followed, a search navigation bar 967, “Searchfor collected content”, a search navigation bar 968, “Search for aconversation record”, and a search navigation bar 969, “Search for afriend/public account in the network”, are successively displayed.

2) Sort search navigation bars according to history search frequenciesof content of other types corresponding to the search navigation bars,and display the search navigation bars.

For example, as shown in the first picture of FIG. 9B, if content of themost frequent search by a user is a personal account that has not beenadded as a friend and a public account that has not been followed,content of the second most frequent search is a conversation record, andcontent of the third most frequent search is collected content, a searchnavigation bar 971, “Search for a friend/public account in the network”,a search navigation bar 972, “Search for a conversation record”, and asearch navigation bar 973, “Search for collected content”, aresuccessively displayed.

As shown in the second picture of FIG. 9B, if content of the mostfrequent search by the user is a conversation record, content of thesecond most frequent search is a personal account that has not beenadded as a friend and a public account that has not been followed, andcontent of the third most frequent search is collected content, a searchnavigation bar 974, “Search for a conversation record”, a searchnavigation bar 975, “Search for a friend/public account in the network”,and a search navigation bar 976, “Search for collected content”, aresuccessively displayed.

As shown in the third picture of FIG. 9B, if content of the mostfrequent search by the user is collected content, content of the secondmost frequent search is a conversation record, and content of the thirdmost frequent search is a personal account that has not been added as afriend and a public account that has not been followed, a searchnavigation bar 977, “search for collected content”, a search navigationbar 978, “Search for a conversation record”, and a search navigation bar979, “Search for a friend/public account in the network”, aresuccessively displayed.

3) Sort search navigation bars according to preset priorities of contentof other types corresponding to the search navigation bars, and displaythe search navigation bars. Stated another way, in some embodiments, thesearch navigation bars are sorted according to the predefined searchtype hierarchy thus establishing a search priority.

The priority of a personal account that has not been added as a friendand a public account that has not been followed may be set to be thehighest, the priority of a conversation record is set to be the secondhighest, and the priority of collected content is set to be the thirdhighest. A search navigation bar corresponding to the highest priority,a search navigation bar corresponding to the second highest priority,and a search navigation bar corresponding to the third highest priorityare displayed successively. The ranking of search priorities (e.g., theranking in the predefined search type hierarchy) may be established inany number of ways. The rankings (e.g., priorities) described above aremerely examples of top search priorities, and are thus not intended tolimit that scope of the claims that follow.

Besides, when displaying the search navigation bars corresponding tocontent of other types except content of the first type, the clientdevice further displays additional search navigation bars.

The additional search navigation bars are quick portals to search otherinformation sources except the application according to a keyword. Theother information sources may be other applications, other searchengines, or various types of websites. Manners of displaying theadditional search navigation bars include, but are not limited to, twotypes: 1. There is only one navigation portal, for example, “Searchother information sources” or “Search more content”; when a user clicksthe additional search navigation bar, a current interface directly jumpsto an interface with multiple information sources, the interfaceincludes many other applications, search engines, and website addresses,and the user may select at least one type in the interface to performsearch. 2. Display at least one additional search navigation bar, wherethe at least one additional search navigation bar is displayed in apreset order or not in a preset order. For example, an additional searchnavigation bar “Go search in Cdu”, an additional search navigation bar“Go search in a T knowledge base”, an additional search navigation bar“Go search in an FB transaction platform”, and the like, aresuccessively displayed. If there are many additional search navigationbars, an option similar to “Pull down for more” may be provided.

For example, as shown in FIG. 9C, besides displaying a search navigationbar 981 “Search for a friend/public account in the network”, a searchnavigation bar 982 “Search for a conversation record”, and a searchnavigation bar 983 “Search for collected content”, a search navigationbar 984 “Go search in Cdu” is further displayed. The search navigationbar 984 is an additional search navigation bar, and an additional searchnavigation bar 985, “Go search in a T knowledge base”, and an additionalsearch navigation bar 986, “Go search in an FB transaction platform”,are further displayed. Search may be performed in other informationsources according to the keyword by using the search navigation bar 984.Click the additional search navigation bar 984 to enter a Cdu searchengine.

Step 807: Receive a selection signal acting on one search navigationbar.

When a search navigation bar is displayed, the client device receivesthe selection signal acting on the search navigation bar. The selectionsignal is triggered by the user by clicking a search navigation bar whenthe user needs to search content in the search navigation bar.

Step 808: Search content of the mth type in the application for contentof the mth type matching with the keyword.

The client device searches content of the mth type corresponding to thecurrent account in the application for content of the mth type matchingwith the keyword, where content of the mth type is content of a typecorresponding to a search navigation bar selected by the selectionsignal, and m≥2.

If content of the mth type is a personal account that has not been addedas a friend and/or a public account that has not been followed, theclient device searches content of the mth type in the application forcontent of the mth type matching with the keyword. In other words, theclient device searches personal accounts that have not been added asfriends corresponding to the current account in the application for apersonal account exactly matching with the keyword, and searches publicaccounts that have not been followed corresponding to the currentaccount in the application for a public account roughly matching withthe keyword.

Step 809: Display the content of the mth type matching with the keyword.

Search of content of the mth type and display of the same has alreadybeen described with reference to FIG. 3 and FIGS. 4A-4I. Any of thefeatures and/or details described with reference to FIG. 3 and FIGS.4A-4I may be shared by the search method described with reference toFIG. 5. Therefore, for the sake of brevity, such details are notrepeated here.

In conclusion, in some embodiments of the search method, a keyword forsearch is received in a current interface of an application. Content ofa first type in the application is searched for content of the firsttype matching with the keyword. The content of the first type matchingwith the keyword is displayed, and search navigation bars correspondingto content of other types except content of the first type are alsodisplayed. The method solves the problem of time-consuming andinefficient search caused by switching between interfaces correspondingto content of different types in a search method in which content ofdifferent types needs to be searched in search boxes in differentinterfaces. Therefore, global search can be accomplished in only onesearch interface, thereby reducing the number of times of switchingbetween search interfaces, saving search time, and improving searchefficiency.

It should be further noted that with the additional search navigationbars, if failing to find needed content in a current application, a usermay search other information sources for the needed content by using theadditional search navigation bars without needing to specifically openother applications and search engines using other approaches. Therefore,a search speed is improved, and search becomes less complicated.

Apparatus embodiments of the present disclosure are provided in thefollowing. Where appropriate, reference is made to the foregoing methoddescriptions for details that are not repeated here.

FIG. 10 is a schematic structural diagram of a search apparatus, inaccordance with some embodiments. The search apparatus may beimplemented as the whole or a part of an electronic device by usingsoftware, hardware, or a combination of both. The search apparatus mayinclude: a keyword receiving module 1020, a first search module 1040,and a first display module 1060.

The keyword receiving module 1020 is used to receive a keyword forsearch in a current interface of an application.

The first search module 1040 is used to search content of a first typein the application for content of the first type matching with thekeyword received by the keyword receiving module 1020.

The first display module 1060 is used to display the content, of thefirst type matching with the keyword, found by the first search module1040, and display search navigation bars corresponding to content ofother types except content of the first type, where the searchnavigation bars are quick portals to search, according to the keyword,content of other types corresponding to the search navigation bars.

In conclusion, in some embodiments, the search apparatus receives akeyword for search in a current interface of an application. The searchapparatus searches content of a first type in the application forcontent of the first type matching with the keyword. The searchapparatus displays the content of the first type matching with thekeyword, and displays search navigation bars corresponding to content ofother types except content of the first type. The search apparatussolves the problem of time-consuming and inefficient search caused byswitching between interfaces corresponding to content of different typesin a search method in which content of different types needs to besearched in search boxes in different interfaces. Therefore, globalsearch can be accomplished in only one search interface, therebyreducing the number of times of switching between search interfaces,saving search time, and improving search efficiency.

FIG. 11 is a schematic structural diagram of a search apparatus, inaccordance with some embodiments. The search apparatus may beimplemented as the whole or a part of an electronic device by usingsoftware, hardware, or a combination of both. The search apparatus mayinclude: a keyword receiving module 1020, a first search module 1040,and a first display module 1060.

The keyword receiving module 1020 is used to receive a keyword forsearch in a current interface of an application. The first search module1040 is used to search content of a first type in the application forcontent of the first type matching with the keyword received by thekeyword receiving module 1020.

The first display module 1060 is used to display the content, of thefirst type matching with the keyword, found by the first search module1040, and display search navigation bars corresponding to content ofother types except content of the first type, where the searchnavigation bars are quick portals to search, according to the keyword,content of other types corresponding to the search navigation bars.

Preferably, the search apparatus further includes: a signal receivingmodule 820, a second search module 840, and a second display module 860.

The signal receiving module 820 is used to receive a selection signalacting on one search navigation bar.

The second search module 840 is used to search content of the mth typein the application for content of the mth type matching with the keywordin a search navigation bar corresponding to the selection signalreceived by the signal receiving module 820, where content of the mthtype is content of a type corresponding to a search navigation barselected by the selection signal, and m≥2.

The second display module 860 is used to display the content, of the mthtype matching with the keyword, found by the second search module 840.

Preferably, if content of the mth type is a conversation record, thesecond display module 860 includes: a group display unit or a sequentialdisplay unit.

The group display unit is used to display conversation records matchingwith the keyword according to conversation groups.

The sequential display unit is used to display conversation recordsmatching with the keyword in an order of time.

Preferably, if content of the mth type is a personal account that hasnot been added as a friend and/or a public account that has not beenfollowed, the second search module 840 includes a first search unitand/or a second search unit.

The first search unit is used to search personal accounts that have notbeen added as friends in the application for a personal account exactlymatching with the keyword.

The second search unit is used to search public accounts that have notbeen followed in the application for a public account roughly matchingwith the keyword.

Preferably, the second display module 860 includes an account displayunit.

The account display unit is used to display the personal account exactlymatching with the keyword and/or the public account roughly matchingwith the keyword.

Preferably, the search apparatus further includes: an account addingmodule and an account following module.

The account adding module is used to: if a personal account exactlymatching with the keyword is displayed, receive a selection signalacting on the personal account, and add the personal account selected bythe selection signal as a friend.

The account focusing module is used to: if a public account roughlymatching with the keyword is displayed, receive a selection signalacting on the public account, and follow the public account selected bythe selection signal.

Preferably, the search apparatus further includes a content presettingmodule or a content determining module.

The content presetting module is used to determine content of a presettype as content of the first type.

The content determining module is used to determine contentcorresponding to a current interface as content of the first type.

Preferably, the search apparatus further includes: a content determiningmodule 710, a display executing module 730, a third search module 750, athird display module 770, and a fourth display module 790.

The content determining module 710 is used to determine whether thefirst search module 1040 finds content of the first type matching withthe keyword.

The display executing module 730 is used to: if a determination resultof the content determining module 710 is that content of the first typematching with the keyword is found, execute the step of displaying thecontent of the first type matching with the keyword.

The third search module 750 is used to: if a determination result of thecontent determining module 710 is that content of the first typematching with the keyword is not found, search content of the nth typein the application according to a preset content search order forcontent of the nth type matching with the keyword, where n≥2.

The third display module 770 is used to: when the third search module750 finds content of the nth type matching with the keyword, display thecontent of the nth type matching with the keyword, and display searchnavigation bars of content of other types except content of the firsttype to content of the nth type.

The fourth display module 790 is used to: when the third search module750 fails to find content matching with the keyword in content of alltypes, display prompt information that there is no search result.

Preferably, if there are two or more search navigation bars, the firstdisplay module 1060 further includes: a first display unit, a seconddisplay unit, or a third display unit.

The first display unit is used to sort search navigation bars accordingto latest use time of content of other types corresponding to the searchnavigation bars, and display the search navigation bars.

The second display unit is used to sort search navigation bars accordingto history search frequencies of content of other types corresponding tothe search navigation bars, and display the search navigation bars.

The third display unit is used to sort search navigation bars accordingto preset priorities of content of other types corresponding to thesearch navigation bars, and display the search navigation bars.

Preferably, the search apparatus further includes: a fourth displayunit.

The fourth display unit is used to: when the search navigation barscorresponding to content of other types except content of the first typeare displayed, further display additional search navigation bars, wherethe additional search navigation bars are quick portals to search otherinformation sources except the application according to a keyword.

In conclusion, in some embodiments, the search apparatus receives akeyword for search in a current interface of an application. The searchapparatus searches content of a first type in the application forcontent of the first type matching with the keyword. The searchapparatus displays the content of the first type matching with thekeyword, and displays search navigation bars corresponding to content ofother types except content of the first type. The search apparatussolves the problem of time-consuming and inefficient search caused byswitching between interfaces corresponding to content of different typesin a search method in which content of different types needs to besearched in search boxes in different interfaces. Therefore, globalsearch can be accomplished in only one search interface, therebyreducing the number of times of switching between search interfaces,saving search time, and improving search efficiency.

FIGS. 12A-12B include a flow chart of a method 1200 of search, inaccordance with some implementations. In various implementations, someoperations in of method 1200 may be combined and/or the order of someoperations may be changed from the order shown in the figures. Also, insome implementations, operations shown in separate figures (e.g., FIGS.13A-13B) and/or discussed in association with separate methods (e.g.,method 1300) may be combined to form other methods, and operations shownin the same figure and/or discussed in association with the same methodmay be separated into different methods.

In some implementations, one or more operations in method 1200 areperformed at a client device (e.g., a mobile client device, such asclient device 1408/1410, as described with reference to FIG. 14 and/orFIG. 15). In some embodiments, one or more operations in method 1200 areperformed by a social network server system (e.g., server system 1411,as described with reference to FIG. 14 and/or FIG. 16). For ease ofexplanation, the entirety of method 1200 is described as being performedby a client device (e.g., a mobile client device).

The client device receives (1202), in a social media messaging program,a search request including one or more search terms (also called“keywords” or “input keywords”) from a user of the mobile client device.For example, as shown in FIGS. 4A-4B, a user enters one or more searchterms (e.g., the word “and”) into a current user interface of a socialmedia messaging program. In various embodiments, the client devicereceives the search request from the user in any number of ways, forexample: using a touchpad keyboard displayed with the current userinterface on the mobile client device, with a speech input userinterface (e.g., activated by speech input button 400, FIG. 4A), aphysical keyboard, or in other manners.

In some embodiments, the social media messaging program is a mobileapplication (known as a “mobile app” or simply an “app”) that allowsusers (e.g., people) to connect with one another, chat, share contentand interests, and so on. In some embodiments, when a first user isconnected with second user, the second user is said to be the firstuser's “friend”; “contact”; “connection”; and/or “follower”. In someembodiments, information corresponding to the second user is storedlocally on the first user's client device (e.g., in memory 1506, FIG.15). Such information option includes one or more of: the second user'slog-in name (also sometimes called a “screen name”; “user name”;“nickname”; and/or “handle”); e-mail address; phone number; avatar;and/or other personal information. In this sense, the user's contactsare stored locally on the user's mobile client device.

The client device searches (1204), among the user's contacts locallystored on the mobile client device, for contacts matching with the oneor more search terms to produce first search results. In particular, asshown in FIGS. 4A-4B, in some embodiments, the search request isreceived within (1206) a user interface for searching the user's contact(e.g., the current user interface is a user interface for searching theuser's contacts). In some embodiments, a contact matches the one or moresearch terms when the one or more search terms appear (e.g., as astring) within the user's log-in name. For example, as shown in FIG. 4B,one of the user's contact has a display name “Bigfish” and a log-in name“andyou.” Because the string “and” appears in the contact's log-in name,the contact matches the search request. In some embodiments, a contactmatches the one or more search terms when the one or more search termsappear anywhere within the contact's information stored locally on theuser's mobile client device. For example, if andyou lived on “HamiltonStreet,” and andyou's street address is stored locally in the user'smobile client device, a search of “Ham” will also, in accordance withsome embodiments, result in a determination that andyou is a match forthe search request.

In some embodiments, as explained in greater detail below (withreference to method 1300, FIGS. 13A-13B), the user interface is aninterface for searching the user's contacts. However, in the spirit ofproviding a global search functionality in which searches for differenttypes of subject matter are at the user's finger tips, in someembodiments, search navigation affordances are provided in the user forother searches that are not directly related to the user's contacts(e.g., search for a conversation record 432, FIG. 4B).

To that end, the client device displays (1208) a least a subset of thefirst search results and one or more search navigation affordances. Insome embodiments, at most, the client device displays a maximumpredefined number of the first search results (e.g., the user'scontacts). For example, in some embodiments, at most three (or five, orsix) of the matching first search results are shown, while access to theremaining first search results is provided via a search navigationaffordance. As used herein, the term “displayed” should be construed tomean that the a least a subset of the first search results and the oneor more search navigation affordances are provided on the same userinterface, even if they are not simultaneously visible on the user'sdevice (e.g., the user has to scroll down in a window displaying theuser interface in order to see some or all of the one or more searchnavigation affordances).

In addition, at least one of the search navigation affordancescorresponds to second search results of a first content type that areshared by the user and other users. In various embodiments, the firstcontent type includes (1210) one or more of: user pages corresponding tousers who are not connected with the user, public pages not followed bythe users, and web content. For example, FIG. 4B illustrates a searchnavigation bar 431 (e.g., an example of a search navigation affordance)for searching for friends/public accounts in the network. In otherwords, this search navigation affordance provides a search (as explainedin greater detail below) for user's who are not yet friends, so that theuser can “friend” other users (e.g., add other users as contacts), andalso searches for public pages so that a user can “follow” the publicpages. Since these potential contacts/potential public pages to followare not yet associated with the user, they are examples of a type ofcontent that is shared by the user and other users.

At least one of the search navigation affordances corresponds to thirdsearch results of a second content type different from the first contenttype that are associated with the user. In various embodiments, thesecond content type includes (1212) one or more of: the user'sconversation, the user's calendar events, the user's multimedia content,and the user's local files. For example, FIG. 4B illustrates a searchnavigation bar 432 (e.g., an example of a search navigation affordance)for searching for a conversation record. Stated another way, in someembodiments, the second content type includes some or all of the user's“private” content (e.g., which, in the case of conversations, may beshared between the user and a small number of other users). As shown inFIG. 4E, when a user input is received corresponding to selection ofsearch navigation bar 432, the client device displays matchingconversations (e.g., headers, or portions of conversations).

In some embodiments, the first content type or the second content typeeach includes content stored remotely on a server. For example, in someembodiments, the user's conversation records are stored on the server(e.g., on the “cloud”). Generally speaking, a search for newfriends/public pages to follow involves as server search as well. Thatis to say, in some embodiments, method 1200 is a method of “mixed”search that involves both a local search (e.g., for the user's contactsstored locally on the user's client device) as well as search forcontent on a server.

As described below, method 1200 includes two optional manners with whichto perform an additional search (e.g., a search for the second searchresults or the third search results). In some embodiments, asencapsulated in operations 1216-1220, an additional search is triggered(e.g., at a server system) by selection of a corresponding searchnavigation affordance. Alternatively, in some embodiments, asencapsulated in operations 1222-1226, the additional search or searchesare performed prior to displaying the search navigation affordances andare displayed when a search navigation affordance is selected (e.g.,without the need for additional searching upon the selection).

In the first manner, the client device optionally receives (1216) aninput corresponding to selection of the at least one search navigationaffordance that corresponds to second search results (e.g., touch input480, FIG. 4C). In response to the input, the client device triggers(1218) a search on a server remote from the client device to produce thesecond search results. The client device then displays (1220) the secondsearch results. This manner of search is advantageous because it helpsto limit the amount of searching to searching that is actually ofinterest to the user, and thus increases the speed of the search.

In the second manner, prior to displaying a least the subset of thefirst search results and the one or more search navigation affordances,the device triggers (1222) a search corresponding to the at least onesearch navigation affordance that corresponds to second search resultsto produce the second search results. For example, in some embodiments,a prior to the display of the user interface shown in FIG. 4B, a searchhas already been performed for each of search navigation button 431,search navigation button 432, and search navigation button 433. Theresults, or at least a portion of the results (e.g., headers and/orother summarizing information), are stored in memory on the clientdevice. After displaying a least the subset of the first search resultsand the one or more search navigation affordances, the client devicereceives (1224) an input corresponding to selection of the at least onesearch navigation affordance that corresponds to second search results(e.g., touch input 480, FIG. 4C). The device displays the second searchresults. This manner of search is advantageous because it increases thespeed of response upon selection of a search navigation affordance.

FIGS. 13A-13B include a flow chart of another method 1300 of search, inaccordance with some implementations. In various implementations, someoperations in of method 1300 may be combined and/or the order of someoperations may be changed from the order shown in the figures. Also, insome implementations, operations shown in separate figures (e.g., FIGS.12A-12B) and/or discussed in association with separate methods (e.g.,method 1200) may be combined to form other methods, and operations shownin the same figure and/or discussed in association with the same methodmay be separated into different methods.

In some implementations, one or more operations in method 1300 areperformed at a client device (e.g., a mobile client device, such asclient device 1408/1410, as described with reference to FIG. 14 and/orFIG. 15). In some embodiments, one or more operations in method 1300 areperformed by a social network server system (e.g., server system 1411,as described with reference to FIG. 14 and/or FIG. 16). For ease ofexplanation, the entirety of method 1300 is described as being performedby a client device (e.g., a mobile client device).

The client device receives (1302), in a social media messaging program,a search request including one or more search terms. This operation isanalogous to operation 1202 (FIG. 13A) and thus the details are notrepeated here.

In accordance with a predefined search type hierarchy, the client devicesearches (1304) content of a first set of content types of a pluralityof content types to produce first search results. The search is based onthe search request. The predefined search type hierarchy specifies anorder with which content types in the plurality of content types are tobe searched. In some embodiments, the plurality of content typesincludes (1304) one or more of the group consisting of: user pagescorresponding to users who are connected with the user, public pagesfollowed by the users, user pages corresponding to users who are notconnected with the user, public pages not followed by the users, localfiles, local directories, and web content. In some embodiments, thefirst set of content types consist of (1306) a single first content typeand second set of content types consist of a single second content type.

For example, in some embodiments, the predefined search type hierarchyspecifies that the user's contacts are to be searched first (e.g., thefirst set of content types consist of a single content type, to wit, theuser's contacts), user pages corresponding to users who are notconnected with the user, public pages not followed by the users, and webcontent should be searched second (e.g., the second set of content typesconsist of two content types), and a general web search (e.g., ofwebsites) should be performed third.

In some embodiments, the predefined search type hierarchy is based on acurrent user interface. For example, the user's contacts are to besearch first because the user interface is a user interface forsearching the user's contacts. In addition, since a user interface forsearching a user's contacts is more generally a search for people, thenext search, in one example, is for user pages corresponding to userswho are not connected with the user. Because a web search is the mostgeneral in this example, a search of web content is to be performedlast. Alternatively, in some embodiments, the predefined search typehierarchy is user defined.

The client device determines (1310) a count of the first search results.For example, if the one or more search terms consist of the word “Ben”,and the search results in 10 first search results (e.g., 10 usercontact's matching the search term “Ben”) then the count is 10.

When the count of first search results is greater than or equal to apredefined number, the client device displays (1312) the first searchresults and affordances for searching content of one or more othercontent types in the plurality of content types. For example, in someembodiments, the predefined number is three (or five, or six), so whenthe count of first search results is 10, the client device displays the10 first search results (or a subset thereof). Further, as shown in FIG.4B, the client device displays affordances for searching content of oneor more other content types in the plurality of content types (e.g., thesearch navigation bars 431, 432, and 433). In some embodiments, thepredefined number is (1314) one. Stated another way, as long the clientdevice has something to display as a first search result, it displaysthe first search result (or plurality of first search results). But ifthere are no first search results to display, the client device moves onto searching the second set of content types, as described below.

When the count of first search results is less than the predefinednumber: in accordance with the predefined search type hierarchy, theclient devices searches (1316) content of a second set of content typesof the plurality of content types to produce second search results.Stated another way, as long the client device has enough to display as afirst search result (as defined by the predefined number), it displaysthe first search results. But if there are not enough first searchresults to display (e.g., none), the client device moves on to searchingthe second set of content types. The client device displays (1316) thesecond search results.

In some embodiments, the displayed first search results each includes(1318) a first affordance to perform a first operation in accordancewith the first content type. The displayed second search results eachincludes a second affordance to perform a second operation in accordancewith the second content type. For example, when the first search resultsare user contacts, in some embodiments, the first operation redirectsthe user to a user interface displaying information about a respectivecontact. When the second search results are user pages corresponding tousers who are not connected with the user, in some embodiments, thesecond operation performs a request to “follow” or add a respective userto the user's contacts.

FIG. 14 is a diagram of a client-server environment 1400, in accordancewith some implementations. The client-server environment 1400 includes aserver system 1411 (e.g., a social networking server system), one ormore mobile phone operators 1422 (e.g., mobile phone operator 1422-a andmobile phone operator 1422-b), one or more Internet service providers1420 (e.g., Internet service provider 1420-a and Internet serviceprovider 1420-b), and communications network 1404. Each of the serversystem 1411, the mobile phone operator 1422 (i.e. wireless carrier), andthe Internet service providers 1420 are capable of being connected tothe communication network 1404 in order to exchange information with oneanother and/or other devices and systems. Within the server system 1411,there is a server computer 1413 for receiving and processing datareceived from mobile client devices 1408 and personal/laptop computers1410 (hereinafter “client devices 1408/1410”). For example, in somecircumstances, server system 1411 receives a search requests from aclient device (e.g., mobile phone 1408), processes data (e.g., searchterms) included in these requests, and so on.

Within the server system 1411, there is also a database 1412 for storinginformation (e.g., search indices). Additionally, the mobile phoneoperator 1422 and the Internet service provider 1420 are operable toconnect client devices 1408/1410 to the communication network 1404 aswell. For example, a smart phone 1408 is operable with the network ofthe mobile phone operator 1422-a, which includes for example, a basestation 1424-a. Similarly, for example, a first user's laptop computer1410-a (or tablet, desktop, workstation or the like) is connectable tothe network provided by a first Internet service provider 1420-a, whichis ultimately connectable to the communication network 1404. A seconduser's laptop computer 1410-b (or tablet, desktop, workstation or thelike) is connectable to the network provided by a second Internetservice provider 1420-b, which is ultimately connectable to thecommunication network 1404.

When a respective client device 1408/1410 is connected to network 1404,and thereby connected to server system 1411, the respective clientdevice 1408/1410 is said to be in an “online state.” Conversely, when arespective client device 1408/1410 is not connected to network 1404, andthereby not connected to server system 1411, the respective clientdevice 1408/1410 is said to be in an “offline state.”

The communication network 1404 may be any combination of wired andwireless local area network (LAN) and/or wide area network (WAN), suchas an intranet, an extranet, including a portion of the Internet. It issufficient that the communication network 1404 provides communicationcapability between client devices and servers. In some implementations,the communication network 1404 uses the HyperText Transport Protocol(HTTP) to transport information using the Transmission ControlProtocol/Internet Protocol (TCP/IP). HTTP permits a client device toaccess various resources available via the communication network 1404.However, the various implementations described herein are not limited tothe use of any particular protocol.

Moreover, those skilled in the art will appreciate from the presentapplication that any number of such devices and/or systems may beprovided in a client-server environment, and particular devices may bealtogether absent. In other words, the client-server environment 1400 ismerely an example provided to discuss more pertinent features of thepresent application.

FIG. 15 is a block diagram illustrating a client device 1408/1410,discussed above with reference to FIG. 14, in accordance with someimplementations. While certain specific features are illustrated, thoseskilled in the art will appreciate from the present disclosure thatvarious other features have not been illustrated for the sake of brevityand so as not to obscure more pertinent aspects of the implementationsdisclosed herein.

To that end, client device 1408/1410 includes one or more processingunits (CPUs) 1504, one or more network or other communicationsinterfaces 1508, memory 1506, one or more mobile storage devices 1503,display 1501, and one or more communication buses 1505 forinterconnecting these and various other components. The communicationbuses 1505 may include circuitry (sometimes called a chipset) thatinterconnects and controls communications between system components.Memory 1506 includes high-speed random access memory, such as DRAM,SRAM, DDR RAM or other random access solid state memory devices; and mayinclude non-volatile memory, such as one or more magnetic disk storagedevices, optical disk storage devices, flash memory devices, or othernon-volatile solid state storage devices. Memory 1506 may optionallyinclude one or more storage devices remotely located from the CPUs 1504.Memory 1506, including the non-volatile and volatile memory deviceswithin memory 1506, comprises a non-transitory computer readable storagemedium.

In some implementations, memory 1506 or the non-transitory computerreadable storage medium of memory 1506 stores the following programs,modules and data structures, or a subset thereof including an operatingsystem 1516, a network communication module 1518, a social networkingmodule 1520.

The operating system 1516 includes procedures for handling various basicsystem services and for performing hardware dependent tasks.

The network communication module 1518 facilitates communication withother devices (e.g., server system 1411, FIG. 14 and/or FIG. 16) via theone or more communication network interfaces 1508 (wired or wireless)and one or more communication networks, such as the Internet, other widearea networks, local area networks, metropolitan area networks, and soon.

The social networking module 1520 is configured to allow a user toperform certain social networking operations available through, such aschatting with other users (e.g., with chat sub-module 1522, whichincludes a set of instructions 1522-1 and optionally metadata 1522-2),posting pictures, text, and video, on a website corresponding to thesocial network (e.g., hosted by sever 1411, FIG. 14 and/or FIG. 15),etc. Therefore, in some embodiments, the social networking module 1520is a social media messaging program. The social networking module 1520is also configured to receive search requests including search termsfrom a user of the client device 1408/1410. The social networking module1520 searches (using searching sub-module 1524, which includes a set ofinstructions 1524-1 and heuristics and metadata 1524-2), among theuser's contacts locally stored on the mobile client device, for contactsmatching with the one or more search terms to produce first searchresults. These local contacts (e.g., contact 1526-1 through 1526-n) arestored in a contacts sub-module (1526).

FIG. 16 is a block diagram illustrating a server system 1411, discussedabove with reference to FIG. 14, in accordance with someimplementations. While certain specific features are illustrated, thoseskilled in the art will appreciate from the present disclosure thatvarious other features have not been illustrated for the sake of brevityand so as not to obscure more pertinent aspects of the implementationsdisclosed herein.

To that end, server system 1411 includes one or more processing units(CPUs) 1604, one or more network or other communications interfaces1608, memory 1606, and one or more communication buses 1604 forinterconnecting these and various other components. The communicationbuses 1604 may include circuitry (sometimes called a chipset) thatinterconnects and controls communications between system components.Memory 1606 includes high-speed random access memory, such as DRAM,SRAM, DDR RAM or other random access solid state memory devices; and mayinclude non-volatile memory, such as one or more magnetic disk storagedevices, optical disk storage devices, flash memory devices, or othernon-volatile solid state storage devices. Memory 1606 may optionallyinclude one or more storage devices remotely located from the CPUs 1602.Memory 1606, including the non-volatile and volatile memory deviceswithin memory 1606, comprises a non-transitory computer readable storagemedium.

In some implementations, memory 1606 or the non-transitory computerreadable storage medium of memory 1606 stores the following programs,modules and data structures, or a subset thereof including an operatingsystem 1616, a network communication module 1618, a social media module1620.

The operating system 1616 includes procedures for handling various basicsystem services and for performing hardware dependent tasks.

The network communication module 1618 facilitates communication withother devices (e.g., client devices 1408/1410) via the one or morecommunication network interfaces 1608 (wired or wireless) and one ormore communication networks, such as the Internet, other wide areanetworks, local area networks, metropolitan area networks, and so on.

The social media module 1620 is configured to provide various socialmedia (e.g., social networking) services to users (e.g., users of clientdevices 1408/1410). These services include chat, webpage hosting, imageand video hosting, etc. In addition, social media module 1620 providessearching services via a search sub-module 1622, which includes a set ofinstructions 1622-1 and metadata 1622-2. For example, search sub-module1622 will crawl and index user pages so that other users can search andfind new friends (e.g., by adding as friend or contact users whose userpages are the results of a search). In some embodiments, these userpages are stored in server data 1426, which can be implemented ondatabase 1412 (FIG. 14).

While particular embodiments are described above, it will be understoodit is not intended to limit the present application to these particularembodiments. On the contrary, the present application includesalternatives, modifications and equivalents that are within the spiritand scope of the appended claims. Numerous specific details are setforth in order to provide a thorough understanding of the subject matterpresented herein. But it will be apparent to one of ordinary skill inthe art that the subject matter may be practiced without these specificdetails. In other instances, well-known methods, procedures, components,and circuits have not been described in detail so as not tounnecessarily obscure aspects of the embodiments.

The terminology used in the description of the present applicationherein is for the purpose of describing particular embodiments only andis not intended to be limiting of the present application. As used inthe description of the present application and the appended claims, thesingular forms “a,” “an,” and “the” are intended to include the pluralforms as well, unless the context clearly indicates otherwise. It willalso be understood that the term “and/or” as used herein refers to andencompasses any and all possible combinations of one or more of theassociated listed items. It will be further understood that the terms“includes,” “including,” “comprises,” and/or “comprising,” when used inthis specification, specify the presence of stated features, operations,elements, and/or components, but do not preclude the presence oraddition of one or more other features, operations, elements,components, and/or groups thereof.

As used herein, the term “if” may be construed to mean “when” or “upon”or “in response to determining” or “in accordance with a determination”or “in response to detecting,” that a stated condition precedent istrue, depending on the context. Similarly, the word “if it is determined[that a stated condition precedent is true]” or “if [a stated conditionprecedent is true]” or “when [a stated condition precedent is true]” maybe construed to mean “upon determining” or “in response to determining”or “in accordance with a determination” or “upon detecting” or “inresponse to detecting” that the stated condition precedent is true,depending on the context.

Although some of the various drawings illustrate a number of logicalstages in a particular order, stages that are not order dependent may bereordered and other stages may be mixed or broken out. While somereordering or other groupings are specifically mentioned, others will beobvious to those of ordinary skill in the art and so do not present anexhaustive list of alternatives. Moreover, it should be recognized thatthe stages could be implemented in hardware, firmware, software or anycombination thereof.

The foregoing description for purpose of explanation has been describedwith reference to specific embodiments. However, the illustrativediscussions above are not intended to be exhaustive or to limit thepresent application to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the present application and its practical applications, tothereby enable others skilled in the art to best utilize the presentapplication and various embodiments with various modifications as aresuited to the particular use contemplated.

What is claimed is:
 1. A method of searching content, comprising: at amobile client device executing a social media messaging program:receiving, in the social media messaging program, a search requestincluding one or more search terms; in accordance with a predefinedsearch type hierarchy, searching content of a first set of content typesof a plurality of content types to produce first search results,wherein: the search is based on the search request; and the predefinedsearch type hierarchy specifies an order with which content types in theplurality of content types are to be searched; determining a count ofthe first search results; when the count of first search results isgreater than or equal to a predefined number, displaying the firstsearch results and affordances for searching content of one or moreother content types in the plurality of content types; when the count offirst search results is less than the predefined number: in accordancewith the predefined search type hierarchy, searching content of a secondset of content types of the plurality of content types to produce secondsearch results; and displaying the second search results.
 2. The methodof claim 1, wherein the search request is received from a user of thesocial media program and the plurality of content types includes one ormore of the group consisting of: user pages corresponding to users whoare connected with the user, public pages followed by the users, userpages corresponding to users who are not connected with the user, publicpages not followed by the users, local files, local directories, and webcontent.
 3. The method of claim 1, wherein the first set of contenttypes consist of a single first content type and second set of contenttypes consist of a single second content type.
 4. The method of claim 1,wherein: the displayed first search results each includes a firstaffordance to perform a first operation in accordance with the first setof content types; and the displayed second search results each includesa second affordance to perform a second operation in accordance with thesecond set of content types.
 5. The method of claim 1, wherein thepredefined number is one.
 6. The method of claim 1, wherein thepredefined search type hierarchy is user-defined.
 7. The method of claim1, wherein the predefined search type hierarchy is dependent upon a userinterface in which the search request is entered.
 8. A non-transitorycomputer-readable storage medium storing instructions that, whenexecuted by a mobile client device executing a social media messagingprogram, cause the mobile client device to perform the operations of:receiving, in the social media messaging program, a search requestincluding one or more search terms; in accordance with a predefinedsearch type hierarchy, searching content of a first set of content typesof a plurality of content types to produce first search results,wherein: the search is based on the search request; and the predefinedsearch type hierarchy specifies an order with which content types in theplurality of content types are to be searched; determining a count ofthe first search results; when the count of first search results isgreater than or equal to a predefined number, displaying the firstsearch results and affordances for searching content of one or moreother content types in the plurality of content types; when the count offirst search results is less than the predefined number: in accordancewith the predefined search type hierarchy, searching content of a secondset of content types of the plurality of content types to produce secondsearch results; and displaying the second search results.
 9. Thenon-transitory computer-readable storage medium of claim 8, wherein thesearch request is received from a user of the social media program andthe plurality of content types includes one or more of the groupconsisting of: user pages corresponding to users who are connected withthe user, public pages followed by the users, user pages correspondingto users who are not connected with the user, public pages not followedby the users, local files, local directories, and web content.
 10. Thenon-transitory computer-readable storage medium of claim 8, wherein thefirst set of content types consist of a single first content type andsecond set of content types consist of a single second content type. 11.The non-transitory computer-readable storage medium of claim 8, wherein:the displayed first search results each includes a first affordance toperform a first operation in accordance with the first set of contenttypes; and the displayed second search results each includes a secondaffordance to perform a second operation in accordance with the secondset of content types.
 12. The non-transitory computer-readable storagemedium of claim 8, wherein the predefined number is one.
 13. Thenon-transitory computer-readable storage medium of claim 8, wherein thepredefined search type hierarchy is user-defined.
 14. The non-transitorycomputer-readable storage medium of claim 8, wherein the predefinedsearch type hierarchy is dependent upon a user interface in which thesearch request is entered.
 15. A mobile client device, comprising: oneor more processors; and memory storing instructions that, when executedby the one or more processors, cause the mobile client device to performthe operations of: receiving, in a social media messaging program, asearch request including one or more search terms; in accordance with apredefined search type hierarchy, searching content of a first set ofcontent types of a plurality of content types to produce first searchresults, wherein: the search is based on the search request; and thepredefined search type hierarchy specifies an order with which contenttypes in the plurality of content types are to be searched; determininga count of the first search results; when the count of first searchresults is greater than or equal to a predefined number, displaying thefirst search results and affordances for searching content of one ormore other content types in the plurality of content types; when thecount of first search results is less than the predefined number: inaccordance with the predefined search type hierarchy, searching contentof a second set of content types of the plurality of content types toproduce second search results; and displaying the second search results.16. The mobile client device of claim 15, wherein the search request isreceived from a user of the social media program and the plurality ofcontent types includes one or more of the group consisting of: userpages corresponding to users who are connected with the user, publicpages followed by the users, user pages corresponding to users who arenot connected with the user, public pages not followed by the users,local files, local directories, and web content.
 17. The mobile clientdevice of claim 15, wherein the first set of content types consist of asingle first content type and second set of content types consist of asingle second content type.
 18. The mobile client device of claim 15,wherein: the displayed first search results each includes a firstaffordance to perform a first operation in accordance with the first setof content types; and the displayed second search results each includesa second affordance to perform a second operation in accordance with thesecond set of content types.
 19. The mobile client device of claim 15,wherein the predefined number is one.
 20. The mobile client device ofclaim 15, wherein the predefined search type hierarchy is user-defined.